try!(check_metadata(pkg, config));
}
+ try!(verify_dependencies(&pkg));
+
if opts.list {
let root = pkg.root();
let mut list: Vec<_> = try!(src.list_files(&pkg)).iter().map(|file| {
Ok(())
}
+// check that the package dependencies are safe to deploy.
+fn verify_dependencies(pkg: &Package) -> CargoResult<()> {
+ for dep in pkg.dependencies() {
+ if dep.source_id().is_path() {
+ if !dep.specified_req() {
+ bail!("all path dependencies must have a version specified \
+ when packaging.\ndependency `{}` does not specify \
+ a version.", dep.name())
+ }
+ }
+ }
+ Ok(())
+}
+
fn check_not_dirty(p: &Package, src: &PathSource) -> CargoResult<()> {
if let Ok(repo) = git2::Repository::discover(p.root()) {
if let Some(workdir) = repo.workdir() {